#ifndef __4_HC573_H__
#define	__4_HC573_H__

#include "stm32f10x.h"
#include "driver_list.h"


#define HC573_0_GPIO_CLK 	    RCC_APB2Periph_GPIOB		
#define HC573_0_GPIO_PORT    	GPIOB			            
#define HC573_0_GPIO_PIN		GPIO_Pin_15		

#define HC573_1_GPIO_CLK 	    RCC_APB2Periph_GPIOB		
#define HC573_1_GPIO_PORT    	GPIOB			            
#define HC573_1_GPIO_PIN		GPIO_Pin_14		

#define HC573_2_GPIO_CLK 	    RCC_APB2Periph_GPIOB		
#define HC573_2_GPIO_PORT    	GPIOB			            
#define HC573_2_GPIO_PIN		GPIO_Pin_13		

#define HC573_3_GPIO_CLK 	    RCC_APB2Periph_GPIOB		
#define HC573_3_GPIO_PORT    	GPIOB			            
#define HC573_3_GPIO_PIN		GPIO_Pin_12		

#define HC573_4_GPIO_CLK 	    RCC_APB2Periph_GPIOB		
#define HC573_4_GPIO_PORT    	GPIOB			            
#define HC573_4_GPIO_PIN		GPIO_Pin_11		

#define HC573_5_GPIO_CLK 	    RCC_APB2Periph_GPIOB		
#define HC573_5_GPIO_PORT    	GPIOB			            
#define HC573_5_GPIO_PIN		GPIO_Pin_10		

#define HC573_6_GPIO_CLK 	    RCC_APB2Periph_GPIOB		
#define HC573_6_GPIO_PORT    	GPIOB			            
#define HC573_6_GPIO_PIN		GPIO_Pin_1		

#define HC573_7_GPIO_CLK 	    RCC_APB2Periph_GPIOB		
#define HC573_7_GPIO_PORT    	GPIOB			            
#define HC573_7_GPIO_PIN		GPIO_Pin_0		

#define HC573_LE_GPIO_CLK 	    RCC_APB2Periph_GPIOB		
#define HC573_LE_GPIO_PORT    	GPIOB			            
#define HC573_LE_GPIO_PIN		GPIO_Pin_5	


#define PNP_1_GPIO_CLK 	    RCC_APB2Periph_GPIOA		
#define PNP_1_GPIO_PORT    	GPIOA			            
#define PNP_1_GPIO_PIN		GPIO_Pin_12		

#define PNP_2_GPIO_CLK 	    RCC_APB2Periph_GPIOA		
#define PNP_2_GPIO_PORT    	GPIOA			            
#define PNP_2_GPIO_PIN		GPIO_Pin_11		

#define PNP_3_GPIO_CLK 	    RCC_APB2Periph_GPIOB		
#define PNP_3_GPIO_PORT    	GPIOB			            
#define PNP_3_GPIO_PIN		GPIO_Pin_9	

#define PNP_4_GPIO_CLK 	    RCC_APB2Periph_GPIOB		
#define PNP_4_GPIO_PORT    	GPIOB			            
#define PNP_4_GPIO_PIN		GPIO_Pin_8	


void HC573_Init(void);
void HC573_Set_ON_OFF(uint8_t ON_OFF);

void HC573_display(uint8_t position, uint32_t data);
void HC573_task(uint32_t Systick_now, uint32_t data);
#endif
